GitLab Continuous Integration (GitLab CI/CD)
Continuous Integration can automatically plays an integral part of workflow. GitLab comes with built-in Continuous Integration, Continuous Deployment, and Continuous Delivery support to build, test, and deploy applications.
Getting started
- Getting started with GitLab CI/CD: understand how GitLab CI/CD works.
- GitLab CI/CD configuration file:
.gitlab-ci.yml
- Learn all about the ins and outs of.gitlab-ci.yml
- Pipelines and jobs: configure GitLab CI/CD pipelines to build, test, and deploy applications.
- Runners: The GitLab Runner is responsible by running the jobs in CI/CD pipeline. On GitLab.com, shared Runners are enabled by default, so no need to set up anything to start to use them with GitLab CI/CD.
Introduction to GitLab CI/CD
Article (2016-08-05): Continuous Integration, Delivery, and Deployment with GitLab - Intro to CI/CD
Article (2015-12-14): Getting started with GitLab and GitLab CI - Intro to CI
Article (2017-07-13): Making CI Easier with GitLab
Article (2017-05-22): Fast and Natural Continuous Integration with GitLab CI
Videos:
Demo (Streamed live on Jul 17, 2017): GitLab CI/CD Deep Dive
Demo (March, 2017): How to get started using CI/CD with GitLab
Webcast (April, 2016): Getting started with CI in GitLab
Exploring GitLab CI/CD
- CI/CD variables - Learn how to use variables defined in
.gitlab-ci.yml
or secured ones defined in project's settings - The permissions model - The access levelsa user can have for performing certain CI actions
- Configure a Runner, the application that runs jobs
- Article (2016-03-01): Setting up GitLab Runner for Continuous Integration
- Article (2016-07-29): GitLab CI: Run jobs sequentially, in parallel, or build a custom pipeline
- Article (2016-08-26): GitLab CI: Deployment & environments
- Article (2016-05-23): Introduction to GitLab Container Registry
Advanced use
After familiar with the basics of GitLab CI/CD, dive in and learn more.
- Environments and deployments: Separate jobs into environments and use them for different purposes like testing, building and deploying
- Job artifacts
- Git submodules: How to run CI jobs when Git submodules are involved
- Use SSH keys in build environment and status of each CI environment running on Kubernetes
- Trigger pipelines through th GitLab API
- Trigger pipelines on a schedule
- Deploy Boards - Check the current health
- Kubernetes clusters - Integrate one or more Kubernetes clusters to project
GitLab CI/CD for Docker
Docker to run CI pipelines.
- Use Docker images with GitLab Runner
- Use CI to build Docker images
CI services (linked Docker containers)
Article (2016-03-01): Setting up GitLab Runner for Continuous Integration
Auto DevOps
- Auto DevOps: Auto DevOps automatically detects, builds, tests, deploys, and monitors applications.
Examples
Check the GitLab CI/CD examples for a collection of tutorials and guides on setting up CI/CD pipeline, for various programming languages, frameworks, and operating system.
Special configuration (GitLab admin)
As a GitLab administrator, can change the default behavior of GitLab CI/CD in whole GitLab instance, as well as in each project.
- Continuous Integration admin settings
- Project specific:
- Affecting the whole GitLab instance: